<?php
class Templater extends Zend_View_Abstract {
	protected $_path;
	protected $_engine;
	
	public function __construct(){
		$config = Zend_Registry::get('config');
		require_once('Smarty/Smarty.class.php');
		
		$this->_engine = new Smarty();
		$this->_engine->template_dir = $config->paths->templates;
		$this->_engine->compile_dir = sprintf('%s/tmp/templates_c', 
			$config->paths->data);
		$this->_engine->plugins_dir = array($config->paths->base.
			'include/Templater/plugins', 'plugins');
	}
	
	public function getEngine() {
		return $this->_engine;
	}
	
	public function __set($key, $val) {
		$this->_engine->assign($key, $val);
	}
	
	public function __get($key) {
		return $this->_engine->get_template_vars($key);
	}
	
	public function __isset($key) {
		return $this->_engine->get_template_vars($key) !== null;
	}
	
	public function __unset($key) {
		$this->_engine->clear_assign($key);
	}
	
	public function assign($spec, $value = null) {
		if (is_array($spec)) {
			$this->_engine->assign($spec);
			return;
		}
		$this->_engine->assign($spec, $value);		
	}
	
	public function clearVars() {
		$this->_engine->clear_all_assign();
	}
	
	public function render($name) {
		return $this->_engine->fetch(strtolower($name));
	}
	
	public function _run(){
	
	}
}
?>